package com.comum.javahomework420242025.utils;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.UUID;
public class MyFileUtil {
    public static String uploadfile(MultipartFile file) {
        String fileName;
        try {
            // 检查文件是否为空
            if (file.isEmpty()) return null;
            // 获取项目的根目录路径
            String projectRootPath = System.getProperty("user.dir");
            // 设置文件保存路径，这里以项目的根目录下的uploads文件夹为例
            String uploadDir = Paths.get(projectRootPath, "uploads").toString();
            System.out.println(uploadDir);
            File dir = new File(uploadDir);
            if (!dir.exists()) dir.mkdirs(); // 如果目录不存在，则创建目录
            // 构建文件的保存路径和文件名
            fileName = file.getOriginalFilename();
            int dotIndex = fileName.lastIndexOf('.');
            if (dotIndex != -1 && dotIndex != 0) {
                // 获取文件的扩展名
                String extension = fileName.substring(dotIndex);
                // 生成新的文件名，使用UUID替换点前的部分
                fileName = UUID.randomUUID().toString() + extension;
            }
            File serverFile = new File(uploadDir + File.separator + fileName);
            // 将文件保存到项目本地
            file.transferTo(serverFile);
            System.out.println("文件保存成功：" + serverFile.getAbsolutePath());
        } catch (IOException e) {
            e.printStackTrace();
            // 处理异常，例如返回错误信息
            return null;
        }
        return fileName;
    }
}
